Skip to main content

07 · 横向对比与选型

前六篇每篇一个范式。这篇回答:它们在同一张图上的位置在哪,遇到需求怎么选。

一、坐标系:认知功能 × 执行拓扑

把范式排成一条「从可控到自主」的线,是最常见的讲法,也是最粗的讲法 —— 它解释不了「为什么 Reflection 能叠加在 Supervisor 上」。

更准确的坐标系来自 Huang & Zhou 的 A Two-Dimensional Framework for AI Agent Design PatternsarXiv:2605.13850,2026-03 提交 / 05 修订)。它的核心论点是:现有框架都只从单一视角描述系统 —— 要么只讲执行流,要么只讲认知操作 —— 而这两件事是正交的。

于是它拆成两根轴,交叉成 7×6 矩阵,共归纳出 28 个命名模式(其中 15 个是该文首次命名):

取值
认知功能(模型在干什么脑力活)Perception 感知 | Memory 记忆 | Reasoning 推理 | Action 行动 | Reflection 反思 | Collaboration 协作 | Governance 治理
执行拓扑(控制流长什么形状)Chain 链 | Route 路由 | Parallel 并行 | Orchestrate 编排 | Loop 循环 | Hierarchy 层级

本专题的六个范式,就是这张矩阵上的六个区域:

本专题认知功能执行拓扑
01 ReActReasoning + ActionLoop
02 Workflow(认知最少,模型只填空)Chain / Route / Parallel 三种
03 Plan-and-ExecuteReasoning + MemoryChain + Orchestrate
04 ReflectionReflectionLoop
05 SupervisorCollaborationOrchestrate / Hierarchy
06 Deep ResearchCollaboration + MemoryHierarchy + Parallel

这张对照表解释了两件一维视角说不清的事:

① 为什么 02 一篇要讲三个东西。 因为链式、并行、路由是三种拓扑,但认知功能格子是同一个(几乎没有)。它们是同一列的三行。

② 为什么范式能叠加,不是六选一。 因为两根轴正交 —— Reflection 占的是「认知功能=反思」这一行,Supervisor 占的是「执行拓扑=层级」这一列,两者不在同一根轴上,自然能同时成立

真实的代码 Agent 就是多个格子的叠加:

组成部分落在哪个格子
读文件、改代码、跑命令的主循环Action × Loop
复杂任务列 todo 清单Reasoning × Chain
跑测试 → 看报错 → 改Reflection × Loop
读大量文件时派子代理Collaboration × Hierarchy
提交前的固定检查流程—— × Chain

所以「我该用哪个范式」是错误问法。正确问法是:我这个环节缺的是哪个格子。

另一份可交叉验证的分类来自 Zhao 等的 LLM-based Agentic Reasoning Frameworks: A SurveyarXiv:2508.17692,2025-08),它按 single-agent / tool-based / multi-agent 三分。粒度比上面那张矩阵粗,但结论一致:工具使用和多智能体是两个独立的维度,不是程度差别。

二、六个范式的硬指标对比

#范式谁决定下一步每任务模型调用延迟特征可预测性上下文压力典型死法
01ReAct模型,每步N 轮 ×1随轮数累积,只增不减死循环烧钱
02Workflow代码固定 1~3可预测最高分支爆炸
03Plan模型先定全局N+1+规划一轮计划列完就停
04Reflection评审员2 每轮 ×N 轮串行倍增中高空转
05Supervisor主管主管 N + 子代理 M×K可并行压缩可隔离为拆而拆
06Deep Research主管 + 子代理数十次分钟级最低靠压缩控制永远查不完

两条规律:

  • 01→06 成本与自主度同增,可预测性单调下降。 没有免费的智能。
  • 只有 05 能真正降低单模型的上下文压力(靠隔离)。「上下文爆了」这个问题,换别的范式解决不了。

三、选型:五个判据,按顺序问

不需要决策树,五个问题按顺序问完就定了:

顺序问题答「是」答「否」
1路径能穷举吗02 Workflow,结束下一问
2任务会超过 10 步吗下一问01 ReAct,结束
3上下文会爆吗下一问03 Plan
4子任务能并行吗05 Supervisor→ 03 + 上下文压缩
5需要引用与综合报告吗06 Deep Research停在 05
(独立追加) 有客观验收标准,且质量比延迟重要吗叠加 04 Reflection别叠,会空转

注意第 6 问是独立的,不在主链上 —— 对应第一节说的「Reflection 在另一根轴上」。

四个真实需求走一遍:

需求1 可穷举2 >10 步3 爆上下文4 可并行5 要引用结论
客服工单分类回复02 路由。在线接口,不叠 04
修一个失败的测试01 + 04,评审员是 pytest
全项目日志库升级03 动态 todo + 04
五方案技术选型报告06

四个需求里只有一个真需要多智能体。这个比例大致反映现实。

四、六条跨范式结论(每条都有源码证据)

这一节是拆完六份源码后,在互不相关的代码里反复出现的模式。

4.1 给模型可改正的错误,而不是抛异常

出处场景做法
03 todo.py一轮并行调了两次清单工具构造错误消息塞回历史
05 handoff.py并行交接产生非法历史清掉不属于该分支的调用
06 deep_researcher.py派了 12 个,上限 5 个溢出的 7 个各回一条「请用 5 个或更少再试」

普通程序里非法输入就该崩;Agent 编排里非法输入是模型的一次尝试,你要让它读懂并自己改正。

判据:错误信息读完,模型知道下一步怎么做吗?Invalid argument ❌ / 你派了 12 个但上限 5 个,请用 5 个或更少重试

4.2 消息历史合法性是隐形的第一难题

硬约束:每个工具调用必须有对应的工具结果,一个都不能少。 它在四处咬人:

出处何时咬人
01崩溃恢复时可能停在「调了工具没结果」的中间态
05并行交接,每分支要清掉不属于自己的调用
05裁剪回传时末条是工具结果,得连前面的 AI 消息一起带([-2:]
06溢出调用也必须带 tool_call_id 回一条

多智能体的难点不是调度,一大半时间花在维持消息历史合法。

4.3 角色必须显式隔离,否则塌缩

出处两个角色隔离手段
04生成器 / 评审员「evaluating only, not attempting to solve」
04生成器 / 评审员评审员看不到生成器的 <thoughts>
05主管 / 工人output_mode="last_message" 裁剪回传
06主管 / 研究员「主管协调,不做主要研究」
06写手 / 引用引用单独一个 Agent

不隔离的后果:评审员自己动手改代码、主管自己去搜网页、写手为行文流畅牺牲引用精度。原理一致:一次只让模型追求一个目标。

4.4 提示词是实现的一部分

源码提示词占比
LangChain todo.py34%,Python 逻辑不到 60 行
Anthropic Research 主管单个提示词文件 23KB

03 起,范式行为主要由提示词决定。拆这类源码要花一半时间读 prompt,只读 Python 会得出「不就是几个函数」的错误结论。

4.5 熔断要分层,一层管不住

出处熔断对象
01单 Agent最大步数,默认 25
04反思循环最大轮数(官方示例是 while True
06主管最大派活轮数
06子研究员最大工具调用数
06并发最大同时运行子代理数
06提示词「简单任务 < 5 次工具调用」

Anthropic 的双层设计值得抄:提示词里写预算让模型自觉,系统层再强制终止 —— 因为只靠提示词,模型一定会超。

4.6 先写理由,再给结论

出处形式
02 路由<reasoning><selection>
04 生成器<thoughts><response>
06 主管先显式声明题型,再派活

自回归模型先写出的理由会真实约束后续 token;顺序反过来完全失效,只是给已说出口的答案编说法。附带收益:reasoning 是免费的可观测性。

五、五个常见误判

误判事实
「要做 Agent 就不能用 Workflow」线上多数所谓 Agent 是 Workflow,且通常是对的选择
「多智能体更强」它的两个理由是上下文隔离和并行,都是工程约束,与智能无关
「加个反思质量就上去」没有客观验收标准的 Reflection 会空转,甚至把对的改错
「先上最灵活架构,以后好扩展」反了。从 Workflow 起步,撞到具体的墙再加一层
「换范式能补模型能力」补不了。换更强的模型比任何编排都有效

六、为什么 RL 不在这六个里

RL 不是编排。 编排改的是运行时行为,RL 改的是权重:

发生在改变什么存活多久
六种编排范式推理时这次的行为和产出本次会话
RL / RLVR训练时模型权重永久

但 Reflection 和 RL 是同一想法的两个时间尺度 —— Reflexion 论文副标题就是 Verbal Reinforcement Learning。同一个「测试是否通过」的信号:写进上下文叫 Reflection,写进权重叫 RLVR

所以「代码 Agent 是 Reflection 还是 RL」的答案是两个都是,在不同层。展开见 04 第八节

七、全专题源码索引

篇目主拆对象体量协议
01learn-claude-code/s01_agent_loop/code.py141 行MIT
LangGraph chat_agent_executor.py1015 行MIT
02claude-cookbooks/patterns/agents/basic_workflows.ipynb33KBMIT
03langchain/.../middleware/todo.py357 行MIT
04claude-cookbooks/.../evaluator_optimizer.ipynb10.8KBMIT
05langgraph-supervisor + langgraph-swarm 对照40KBMIT
06Anthropic Research 提示词 + open_deep_research35KB + 30KBMIT

分类学参考

资料说明
arXiv:2605.13850Huang & Zhou,7×6 矩阵、28 个命名模式。本篇坐标系出处
arXiv:2508.17692Zhao 等,single-agent / tool-based / multi-agent 三分
Building Effective AgentsAnthropic,Workflow / Agent 分界与五种基本模式
luo-junyu/Awesome-Agent-Papers2,827★,持续更新的 Agent 论文索引

数据快照 2026-08-19,仓库数据经 gh api 实测。

下一步:看范式在真实产品里怎么落地 → Multi-Agent 产品源码分析;选开发框架 → Agent 框架横向对比